home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / GAME_CGA / CGAGAME1.LZH / WIZARD.BAS < prev    next >
BASIC Source File  |  1983-01-21  |  28KB  |  946 lines

  1. 10 KEY OFF:CLS
  2. 20 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
  3. 30 PRINT"░┌───────────────────────────────────┐░"
  4. 40 PRINT"░│                                   │░"
  5. 50 PRINT"░│            2039-A.BAS             │░"
  6. 60 PRINT"░│        THE WIZARD'S CASTLE        │░"
  7. 70 PRINT"░│                                   │░"
  8. 80 PRINT"░│                                   │░"
  9. 90 PRINT"░│ BROUGHT TO YOU BY THE MEMBERS OF  │░"
  10. 100 PRINT"░│      ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄      │░"
  11. 110 PRINT"░│        █   █   █ █     █   █      │░"
  12. 120 PRINT"░│        █   █▄▄▄█ █     █   █      │░"
  13. 130 PRINT"░│        █   █     █     █   █      │░"
  14. 140 PRINT"░│      ▄▄█▄▄ █     █▄▄▄▄ █▄▄▄█      │░"
  15. 150 PRINT"░│                                   │░"
  16. 160 PRINT"░│      International PC Owners      │░"
  17. 170 PRINT"░│                                   │░"
  18. 180 PRINT"░│P.O. Box 10426, Pittsburgh PA 15234│░"
  19. 190 PRINT"░│                                   │░"
  20. 200 PRINT"░└───────────────────────────────────┘░"
  21. 210 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
  22. 220 PRINT
  23. 230 PRINT "       PRESS ANY KEY TO CONTINUE
  24. 240 A$=INKEY$: IF A$="" THEN 240
  25. 250 CLS
  26. 1000 SAMP$="NO":GOTO 1020
  27. 1010 SAMP$="YES"
  28. 1020 CLS:WIDTH 80:KEY OFF
  29. 1030 REM *****************************************************
  30. 1040 REM *                                                   *
  31. 1050 REM * WIZARD'S CASTLE GAME FROM JULY/AUGUST 1980        *
  32. 1060 REM * ISSUE OF RECREATIONAL COMPUTING MAGAZINE          *
  33. 1070 REM * WRITTEN FOR EXIDY SORCERER BY JOSEPH R. POWER     *
  34. 1080 REM * MODIFIED FOR HEATH MICROSOFT BASIC BY J.F.STETSON *
  35. 1090 REM *                                                   *
  36. 1100 REM *****************************************************
  37. 1110 DEFINT A-Z
  38. 1120 DIM C$(34),I$(34),R$(4),W$(8),E$(8)
  39. 1130 DIM L(512),C(3,4),T(8),O(3),R(3)
  40. 1140 DEF FNA(Q)=1+INT(RND(1)*Q)
  41. 1150 DEF FNB(Q)=Q+8*((Q=9)-(Q=0))
  42. 1160 DEF FNC(Q)=-Q*(Q<19)-18*(Q>18)
  43. 1170 DEF FND(Q)=64*(Q-1)+8*(X-1)+Y
  44. 1180 DEF FNE(Q)=Q+100*(Q>99)
  45. 1190 Y$="** PLEASE ANSWER YES OR NO"
  46. 1200 NG=0
  47. 1210 REM
  48. 1220 REM   INITIALIZE ARRAYS
  49. 1230 REM
  50. 1240 NG=NG+1
  51. 1250 Q=RND(1)
  52. 1260 RESTORE
  53. 1270 FOR Q=1 TO 34
  54. 1280 READ C$(Q),I$(Q)
  55. 1290 NEXT Q
  56. 1300 FOR Q=1 TO 512
  57. 1310 L(Q)=101
  58. 1320 NEXT Q
  59. 1330 FOR Q=1 TO 8
  60. 1340 READ W$(Q),E$(Q)
  61. 1350 NEXT Q
  62. 1360 FOR Q=1 TO 4
  63. 1370 READ R$(Q)
  64. 1380 NEXT Q
  65. 1390 IF NG > 1 GOTO 1520
  66. 1400 GOSUB 9770
  67. 1410 PRINT TAB(16);"* * * THE WIZARD'S CASTLE * * *"
  68. 1420 PRINT
  69. 1430 GOSUB 9770
  70. 1440 PRINT "MANY CYCLES AGO, IN THE KINGDOM OF N'DIC, THE GNOMIC"
  71. 1450 PRINT "WIZARD ZOT FORGED HIS GREAT *ORB OF POWER*. HE SOON"
  72. 1460 PRINT "VANISHED, LEAVING BEHIND HIS VAST SUBTERRANEAN CASTLE"
  73. 1470 PRINT "FILLED WITH ESURIENT MONSTERS, FABULOUS TREASURES, AND"
  74. 1480 PRINT "THE INCREDIBLE *ORB OF ZOT*. FROM THAT TIME HENCE, MANY"
  75. 1490 PRINT "A BOLD YOUTH HAS VENTURED INTO THE WIZARD'S CASTLE. AS"
  76. 1500 PRINT "OF NOW, *NONE* HAS EVER EMERGED VICTORIOUSLY! BEWARE!!"
  77. 1510 PRINT
  78. 1520 X=1 : Y=4
  79. 1530 L(FND(1))=2
  80. 1540 FOR Z=1 TO 7
  81. 1550 FOR Q1=1 TO 2
  82. 1560 Q=104
  83. 1570 GOSUB 9590
  84. 1580 L(FND(Z+1))=103
  85. 1590 NEXT Q1
  86. 1600 NEXT Z
  87. 1610 FOR Z=1 TO 8
  88. 1620 FOR Q=113 TO 124
  89. 1630 GOSUB 9590
  90. 1640 NEXT Q
  91. 1650 FOR Q1=1 TO 3
  92. 1660 FOR Q=105 TO 112
  93. 1670 GOSUB 9590
  94. 1680 NEXT Q
  95. 1690 Q=125
  96. 1700 GOSUB 9590
  97. 1710 NEXT Q1
  98. 1720 NEXT Z
  99. 1730 FOR Q=126 TO 133
  100. 1740 Z=FNA(8)
  101. 1750 GOSUB 9590
  102. 1760 NEXT Q
  103. 1770 Q=101
  104. 1780 FOR A=1 TO 3
  105. 1790 Z=FNA(8)
  106. 1800 GOSUB 9590
  107. 1810 C(A,1)=X
  108. 1820 C(A,2)=Y
  109. 1830 C(A,3)=Z
  110. 1840 C(A,4)=0
  111. 1850 NEXT A
  112. 1860 RC=0
  113. 1870 ST=2
  114. 1880 DX=14
  115. 1890 R$(3)="MAN"
  116. 1900 Q=112+FNA(12)
  117. 1910 Z=FNA(8)
  118. 1920 GOSUB 9590
  119. 1930 R(1)=X
  120. 1940 R(2)=Y
  121. 1950 R(3)=Z
  122. 1960 Q=109
  123. 1970 Z=FNA(8)
  124. 1980 GOSUB 9590
  125. 1990 O(1)=X
  126. 2000 O(2)=Y
  127. 2010 O(3)=Z
  128. 2020 BF=0 : OT=8 : AV=0 : HT=0 : T=1 : VF=0 : LF=0
  129. 2030 TC=0 : GP=60 : RF=0 : OF=0 : BL=0 : IQ=8 : SX=0
  130. 2040 FOR Q=1 TO 8
  131. 2050 T(Q)=0
  132. 2060 NEXT Q
  133. 2070 PRINT CHR$(7);
  134. 2080 PRINT "ALL RIGHT, BOLD ONE."
  135. 2090 PRINT "YOU MAY BE AN ELF, DWARF, MAN, OR HOBBIT."
  136. 2100 GOSUB 9830
  137. 2110 FOR Q=1 TO 4
  138. 2120 IF LEFT$(R$(Q),1)=O$ THEN RC=Q : ST=ST+2*Q : DX=DX-2*Q
  139. 2130 NEXT Q
  140. 2140 PRINT
  141. 2150 OT=OT+4*(RC=1)
  142. 2160 IF RC > 0 THEN R$(3)="HUMAN" : GOTO 2190
  143. 2170 PRINT "** THAT WAS INCORRECT. PLEASE TYPE E, D, M, OR H."
  144. 2180 GOTO 2090
  145. 2190 PRINT "WHICH SEX TO YOU PREFER";
  146. 2200 GOSUB 9850
  147. 2210 IF O$="M" THEN SX=1 : GOTO 2250
  148. 2220 IF O$="F" GOTO 2250
  149. 2230 PRINT "** CUTE ";R$(RC);", REAL CUTE. TRY M OR F."
  150. 2240 GOTO 2190
  151. 2250 PRINT
  152. 2260 PRINT "OK, ";R$(RC);", YOU HAVE THE FOLLOWING ATTRIBUTES :"
  153. 2270 PRINT "STRENGTH =";ST;" INTELLIGENCE =";IQ;" DEXTERITY =";DX
  154. 2280 PRINT "AND";OT;"OTHER POINTS TO ALLOCATE AS YOU WISH."
  155. 2290 PRINT
  156. 2300 Z$="STRENGTH"
  157. 2310 GOSUB 9880
  158. 2320 ST=ST+Q
  159. 2330 IF OT=0 GOTO 2410
  160. 2340 Z$="INTELLIGENCE"
  161. 2350 GOSUB 9880
  162. 2360 IQ=IQ+Q
  163. 2370 IF OT=0 GOTO 2410
  164. 2380 Z$="DEXTERITY"
  165. 2390 GOSUB 9880
  166. 2400 DX=DX+Q
  167. 2410 PRINT "OK, ";R$(RC);", YOU HAVE 60 GOLD PIECES (GP'S)."
  168. 2420 Z$="ARMOR"
  169. 2430 GOSUB 10130
  170. 2440 AV=0 : WV=0 : FL=0 : WC=0
  171. 2450 PRINT "PLATE<30> CHAINMAIL<20> LEATHER<10> NOTHING<0>"
  172. 2460 GOSUB 9830
  173. 2470 IF O$="N" GOTO 2530
  174. 2480 AV=-3*(O$="P")-2*(O$="C")-(O$="L")
  175. 2490 IF AV > 0 GOTO 2530
  176. 2500 PRINT
  177. 2510 PRINT "** ARE YOU A ";R$(RC);" OR ";C$(FNA(12)+12);"?"
  178. 2520 GOTO 2420
  179. 2530 AH=AV*7 : GP=GP-AV*10
  180. 2540 PRINT
  181. 2550 PRINT "OK, BOLD ";R$(RC);", YOU HAVE";GP;"GP'S LEFT."
  182. 2560 Z$="WEAPONS"
  183. 2570 GOSUB 10130
  184. 2580 PRINT "SWORD<30> MACE<20> DAGGER<10> NOTHING<0>"
  185. 2590 GOSUB 9830
  186. 2600 IF O$="N" GOTO 2660
  187. 2610 WV=-3*(O$="S")-2*(O$="M")-(O$="D")
  188. 2620 IF WV > 0 GOTO 2660
  189. 2630 PRINT 
  190. 2640 PRINT "** IS YOUR IQ REALLY";IQ;"?"
  191. 2650 GOTO 2560
  192. 2660 GP=GP-WV*10
  193. 2670 IF GP < 20 GOTO 2730
  194. 2680 PRINT
  195. 2690 PRINT "DO YOU WANT TO BUY A LAMP FOR 20 GP'S";
  196. 2700 GOSUB 9850
  197. 2710 IF O$="Y" THEN LF=1 : GP=GP-20 : GOTO 2730
  198. 2720 IF O$ <> "N" THEN PRINT : PRINT Y$ : PRINT : GOTO 2690
  199. 2730 PRINT
  200. 2740 IF GP < 1 THEN Q=0 : GOTO 2850
  201. 2750 PRINT "OK, ";R$(RC);", YOU HAVE";GP;"GOLD PIECES LEFT."
  202. 2760 PRINT
  203. 2770 INPUT "FLARES COST 1 GP EACH. HOW MANY DO YOU WANT";O$
  204. 2780 Q=VAL(O$)
  205. 2790 PRINT
  206. 2800 IF Q > 0 OR ASC(O$)=48 GOTO 2840
  207. 2810 PRINT "** IF YOU DON'T WANT ANY, JUST TYPE 0 (ZERO)."
  208. 2820 PRINT
  209. 2830 GOTO 2770
  210. 2840 IF Q > GP THEN PRINT "** YOU CAN ONLY AFFORD";GP;"." : PRINT : GOTO 2770
  211. 2850 FL=FL+Q : GP=GP-Q
  212. 2860 X=1 : Y=4 : Z=1
  213. 2870 PRINT "OK, ";R$(RC);", YOU ARE NOW ENTERING THE CASTLE!"
  214. 2880 GOTO 5920
  215. 2890 REM
  216. 2900 REM   MAIN PROCESSING LOOP
  217. 2910 REM
  218. 2920 T=T+1
  219. 2930 IF RF+OF > 0 GOTO 3060
  220. 2940 IF C(1,4) > T(1) THEN T=T+1
  221. 2950 IF C(2,4) > T(3) THEN GP=GP-FNA(5)
  222. 2960 IF GP < 0 THEN GP=0
  223. 2970 IF C(3,4) <= T(5) GOTO 3060
  224. 2980 A=X : B=Y : C=Z
  225. 2990 X=FNA(8) : Y=FNA(8) : Z=FNA(8)
  226. 3000 L(FND(Z))=FNE(L(FND(Z)))+100
  227. 3010 X=A : Y=B : Z=C
  228. 3020 IF L(FND(Z)) <> 1 GOTO 3060
  229. 3030 FOR Q=1 TO 3
  230. 3040 C(Q,4)=-(C(Q,1)=X)*(C(Q,2)=Y)*(C(Q,3)=Z)
  231. 3050 NEXT Q
  232. 3060 IF FNA(5) > 1 GOTO 3350
  233. 3070 PRINT
  234. 3080 PRINT "YOU ";
  235. 3090 Q=FNA(7)+BL
  236. 3100 IF Q > 7 THEN Q=4
  237. 3110 ON Q GOSUB 3270,3150,3250,3130,3290,3310,3330
  238. 3120 GOTO 3350
  239. 3130 PRINT "STEPPED ON A FROG!"
  240. 3140 RETURN
  241. 3150 PRINT "HEAR ";
  242. 3160 ON FNA(4) GOTO 3170,3190,3210,3230
  243. 3170 PRINT "A SCREAM!"
  244. 3180 RETURN
  245. 3190 PRINT "FOOTSTEPS!"
  246. 3200 RETURN
  247. 3210 PRINT "A WUMPUS!"
  248. 3220 RETURN
  249. 3230 PRINT "THUNDER!"
  250. 3240 RETURN
  251. 3250 PRINT "SNEEZED!"
  252. 3260 RETURN
  253. 3270 PRINT "SEE A BAT FLY BY!"
  254. 3280 RETURN
  255. 3290 PRINT "SMELL ";C$(12+FNA(13));" FRYING!"
  256. 3300 RETURN
  257. 3310 PRINT "FEEL LIKE YOU'RE BEING WATCHED!"
  258. 3320 RETURN
  259. 3330 PRINT "HEAR FAINT RUSTLING NOISES!"
  260. 3340 RETURN
  261. 3350 IF BL+T(4) <> 2 GOTO 3390
  262. 3360 PRINT
  263. 3370 PRINT C$(29);" CURES YOUR BLINDNESS!"
  264. 3380 BL=0
  265. 3390 IF BF+T(6) <> 2 GOTO 3430
  266. 3400 PRINT
  267. 3410 PRINT C$(31);" DISSOLVES THE BOOK!"
  268. 3420 BF=0
  269. 3430 PRINT
  270. 3440 LINE INPUT "ENTER YOUR COMMAND : ";O$
  271. 3450 IF LEFT$(O$,2)="DR" GOTO 4760
  272. 3460 O$=LEFT$(O$,1)
  273. 3470 IF O$="N" GOTO 3890
  274. 3480 IF (O$="S") OR (O$="W") OR (O$="E") GOTO 3900
  275. 3490 IF O$="U" GOTO 3950
  276. 3500 IF O$="D" GOTO 3980
  277. 3510 IF O$="M" GOTO 4030
  278. 3520 IF O$="F" THEN ON BL+1 GOTO 4260,4030
  279. 3530 IF O$="L" THEN ON BL+1 GOTO 4520,4030
  280. 3540 IF O$="O" GOTO 4950
  281. 3550 IF O$="G" THEN ON BL+1 GOTO 5390,4030
  282. 3560 IF O$="T" THEN PRINT : ON RF+1 GOTO 5650,5690
  283. 3570 IF O$="Q" GOTO 5800
  284. 3580 IF O$<>"H" GOTO 3860
  285. 3590 PRINT CHR$(27);"E"
  286. 3600 PRINT "*** WIZARD'S CASTLE COMMAND AND INFORMATION SUMMARY ***"
  287. 3610 PRINT
  288. 3620 PRINT "THE FOLLOWING COMMANDS ARE AVAILABLE :"
  289. 3630 PRINT 
  290. 3640 PRINT "H/ELP     N/ORTH    S/OUTH    E/AST     W/EST     U/P"
  291. 3650 PRINT "D/OWN     DR/INK    M/AP      F/LARE    L/AMP     O/PEN"
  292. 3660 PRINT "G/AZE     T/ELEPORT Q/UIT"
  293. 3670 PRINT
  294. 3680 PRINT "THE CONTENTS OF ROOMS ARE AS FOLLOWS :"
  295. 3690 PRINT
  296. 3700 PRINT ". = EMPTY ROOM      B = BOOK            C = CHEST"
  297. 3710 PRINT "D = STAIRS DOWN     E = ENTRANCE/EXIT   F = FLARES"
  298. 3720 PRINT "G = GOLD PIECES     M = MONSTER         O = CRYSTAL ORB"
  299. 3730 PRINT "P = MAGIC POOL      S = SINKHOLE        T = TREASURE"
  300. 3740 PRINT "U = STAIRS UP       V = VENDOR          W = WARP/ORB"
  301. 3750 PRINT
  302. 3760 PRINT "THE BENEFITS OF HAVING TREASURES ARE :"
  303. 3770 PRINT
  304. 3780 PRINT "RUBY RED - AVOID LETHARGY     PALE PEARL - AVOID LEECH"
  305. 3790 PRINT "GREEN GEM - AVOID FORGETTING  OPAL EYE - CURES BLINDNESS"
  306. 3800 PRINT "BLUE FLAME - DISSOLVES BOOKS  NORN STONE - NO BENEFIT"
  307. 3810 PRINT "PALANTIR - NO BENEFIT         SILMARIL - NO BENEFIT"
  308. 3820 PRINT
  309. 3830 PRINT "PRESS RETURN WHEN READY TO RESUME, ";R$(RC);".";
  310. 3840 LINE INPUT "";O$
  311. 3850 GOTO 2920
  312. 3860 PRINT
  313. 3870 PRINT "** SILLY ";R$(RC);", THAT WASN'T A VALID COMMAND!"
  314. 3880 GOTO 2920
  315. 3890 IF L(FND(Z))=2 GOTO 8960
  316. 3900 X=X+(O$="N")-(O$="S")
  317. 3910 Y=Y+(O$="W")-(O$="E")
  318. 3920 X=FNB(X)
  319. 3930 Y=FNB(Y)
  320. 3940 GOTO 5920
  321. 3950 IF L(FND(Z))=3 THEN Z=Z-1 : GOTO 5920
  322. 3960 Z$="UP"
  323. 3970 GOTO 4000
  324. 3980 Z$="DOWN"
  325. 3990 IF L(FND(Z))=4 THEN Z=Z+1 : GOTO 5920
  326. 4000 PRINT
  327. 4010 PRINT "** THERE ARE NO STAIRS GOING ";Z$;" FROM HERE!"
  328. 4020 GOTO 2920
  329. 4030 IF BL <> 1 GOTO 4100
  330. 4040 PRINT
  331. 4050 PRINT "** YOU CAN'T SEE ANYTHING, YOU DUMB ";R$(RC);"!"
  332. 4060 GOTO 2920
  333. 4070 REM
  334. 4080 REM   DISPLAY MAP OF CURRENT CASTLE LEVEL
  335. 4090 REM
  336. 4100 PRINT
  337. 4110 A=X : B=Y
  338. 4120 FOR X=1 TO 8
  339. 4130 FOR Y=1 TO 8
  340. 4140 Q=L(FND(Z))
  341. 4150 IF Q > 99 THEN Q=Q-100 ' LET Q=34 TO HIDE ROOMS
  342. 4160 IF X=A AND Y=B THEN PRINT "<";I$(Q);">  "; : GOTO 4180
  343. 4170 PRINT " ";I$(Q);"   ";
  344. 4180 NEXT Y
  345. 4190 PRINT
  346. 4200 PRINT
  347. 4210 NEXT X
  348. 4220 X=A : Y=B
  349. 4230 GOTO 4470
  350. 4240 PRINT ") LEVEL";Z
  351. 4250 GOTO 2920
  352. 4260 IF FL <> 0 GOTO 4320
  353. 4270 PRINT "** HEY, BRIGHT ONE, YOU'RE OUT OF FLARES!"
  354. 4280 GOTO 2920
  355. 4290 REM
  356. 4300 REM   DISeADJACENT ROOM CONTENTS WITH FLARE
  357. 4310 REM
  358. 4320 PRINT
  359. 4330 FL=FL-1
  360. 4340 A=X : B=Y
  361. 4350 FOR Q1=A-1 TO A+1
  362. 4360 X=FNB(Q1)
  363. 4370 FOR Q2=B-1 TO B+1
  364. 4380 Y=FNB(Q2)
  365. 4390 Q=FNE(L(FND(Z)))
  366. 4400 L(FND(Z))=Q
  367. 4410 PRINT " ";I$(Q);"   ";
  368. 4420 NEXT Q2
  369. 4430 PRINT
  370. 4440 PRINT
  371. 4450 NEXT Q1
  372. 4460 X=A : Y=B
  373. 4470 GOSUB 10160
  374. 4480 GOTO 2920
  375. 4490 REM
  376. 4500 REM   DISPLAY CONTENTS OF ADJACENT ROOM WITH LAMP
  377. 4510 REM
  378. 4520 IF LF <> 0 GOTO 4560
  379. 4530 PRINT
  380. 4540 PRINT "** YOU DON'T HAVE A LAMP, ";R$(RC);"!"
  381. 4550 GOTO 2920
  382. 4560 PRINT
  383. 4570 PRINT "WHERE DO YOU WANT TO SHINE THE LAMP (N,S,E,W)";
  384. 4580 GOSUB 9850
  385. 4590 A=X : B=Y
  386. 4600 X=FNB(X+(O$="N")-(O$="S"))
  387. 4610 Y=FNB(Y+(O$="W")-(O$="E"))
  388. 4620 IF A-X+B-Y <> 0 GOTO 4660
  389. 4630 PRINT
  390. 4640 PRINT "** THAT'S NOT A DIRECTION, ";R$(RC);"!"
  391. 4650 GOTO 2920
  392. 4660 PRINT
  393. 4670 PRINT "THE LAMP SHINES INTO (";X;",";Y;") LEVEL";Z;"."
  394. 4680 PRINT
  395. 4690 L(FND(Z))=FNE(L(FND(Z)))
  396. 4700 PRINT "THERE YOU WILL FIND ";C$(L(FND(Z)));"."
  397. 4710 X=A : Y=B
  398. 4720 GOTO 2920
  399. 4730 REM
  400. 4740 REM   TAKE A DRINK FROM A POOL
  401. 4750 REM
  402. 4760 IF L(FND(Z))=5 GOTO 4800
  403. 4770 PRINT
  404. 4780 PRINT "** IF YOU WANT A DRINK, FIND A POOL!"
  405. 4790 GOTO 2920
  406. 4800 Q=FNA(8)
  407. 4810 PRINT
  408. 4820 PRINT "YOU TAKE A DRINK AND ";
  409. 4830 IF Q < 7 THEN PRINT "FEEL ";
  410. 4840 ON Q GOTO 4850,4860,4870,4880,4890,4900,4910,4930
  411. 4850 ST=FNC(ST+FNA(3)) : PRINT "STRONGER." : GOTO 2920
  412. 4860 ST=ST-FNA(3) : PRINT "WEAKER." : ON (1-(ST<1)) GOTO 2920,8840
  413. 4870 IQ=FNC(IQ+FNA(3)) : PRINT "SMARTER." : GOTO 2920
  414. 4880 IQ=IQ-FNA(3) : PRINT "DUMBER." : ON (1-(IQ<1)) GOTO 2920,8840
  415. 4890 DX=FNC(DX+FNA(3)) : PRINT "NIMBLER." : GOTO 2920
  416. 4900 DX=DX-FNA(3) : PRINT "CLUMSIER." : ON (1-(DX<1)) GOTO 2920,8840
  417. 4910 Q=FNA(4) : IF Q=RC GOTO 4910
  418. 4920 RC=Q : PRINT "BECOME A ";R$(RC);"." : GOTO 2920
  419. 4930 SX=1-SX : PRINT "TURN INTO A "; : IF SX=0 THEN PRINT "FE";
  420. 4940 PRINT "MALE ";R$(RC);"!" : GOTO 2920
  421. 4950 IF L(FND(Z)) <> 6 GOTO 4990
  422. 4960 PRINT
  423. 4970 PRINT "YOU OPEN THE CHEST AND"
  424. 4980 GOTO 5250
  425. 4990 IF L(FND(Z)) <> 12 GOTO 5030
  426. 5000 PRINT
  427. 5010 PRINT "YOU OPEN THE BOOK AND"
  428. 5020 GOTO 5060
  429. 5030 PRINT
  430. 5040 PRINT "** THE ONLY THING OPENED WAS YOUR BIG MOUTH!"
  431. 5050 GOTO 2920
  432. 5060 ON FNA(6) GOTO 5070,5100,5120,5140,5170,5200
  433. 5070 PRINT "FLASH! OH NO! YOU ARE NOW A BLIND ";R$(RC);"!"
  434. 5080 BL=1
  435. 5090 GOTO 5230
  436. 5100 PRINT "IT'S ANOTHER VOLUME OF ZOT'S POETRY! - YECH!!"
  437. 5110 GOTO 5230
  438. 5120 PRINT "IT'S AN OLD COPY OF PLAY";R$(FNA(4));"!"
  439. 5130 GOTO 5230
  440. 5140 PRINT "IT'S A MANUAL OF DEXTERITY!"
  441. 5150 DX=18
  442. 5160 GOTO 5230
  443. 5170 PRINT "IT'S A MANUAL OF STRENGTH!"
  444. 5180 ST=18
  445. 5190 GOTO 5230
  446. 5200 PRINT "THE BOOK STICKS TO YOUR HANDS -"
  447. 5210 PRINT "NOW YOU ARE UNABLE TO DRAW YOUR WEAPON!"
  448. 5220 BF=1
  449. 5230 L(FND(Z))=1
  450. 5240 GOTO 2920
  451. 5250 ON FNA(4) GOTO 5260,5300,5340,5300
  452. 5260 PRINT "KABOOM! IT EXPLODES!!"
  453. 5270 Q=FNA(6)
  454. 5280 GOSUB 8740
  455. 5290 ON (1-(ST<1)) GOTO 5230,8840
  456. 5300 Q=FNA(1000)
  457. 5310 PRINT "FIND";Q;"GOLD PIECES!"
  458. 5320 GP=GP+Q
  459. 5330 GOTO 5230
  460. 5340 PRINT "GAS!! YOU STAGGER FROM THE ROOM!"
  461. 5350 L(FND(Z))=1
  462. 5360 T=T+20
  463. 5370 O$=MID$("NSEW",FNA(4),1)
  464. 5380 GOTO 3900
  465. 5390 IF L(FND(Z))=11 GOTO 5430
  466. 5400 PRINT
  467. 5410 PRINT "** IT'S HARD TO GAZE WITHOUT AN ORB!"
  468. 5420 GOTO 2920
  469. 5430 PRINT
  470. 5440 PRINT "YOU SEE ";
  471. 5450 ON FNA(6) GOTO 5460,5480,5500,5520,5590,5630
  472. 5460 PRINT "YOURSELF IN A BLOODY HEAP!"
  473. 5470 ST=ST-FNA(2) : ON (1-(ST<1)) GOTO 2920,8840
  474. 5480 PRINT "YOURSELF DRINKING FROM A POOL AND BECOMING ";C$(12+FNA(13));"!"
  475. 5490 GOTO 2920
  476. 5500 PRINT C$(12+FNA(13));" GAZING BACK AT YOU!"
  477. 5510 GOTO 2920
  478. 5520 A=X : B=Y : C=Z
  479. 5530 X=FNA(8) : Y=FNA(8) : Z=FNA(8)
  480. 5540 Q=FNE(L(FND(Z)))
  481. 5550 L(FND(Z))=Q
  482. 5560 PRINT C$(Q);" AT (";X;",";Y;") LEVEL";Z;"."
  483. 5570 X=A : Y=B : Z=C
  484. 5580 GOTO 2920
  485. 5590 A=FNA(8) : B=FNA(8) : C=FNA(8)
  486. 5600 IF FNA(8) < 4 THEN A=O(1) : B=O(2) : C=O(3)
  487. 5610 PRINT "***THE ORB OF ZOT*** AT (";A;",";B;") LEVEL";C;"!"
  488. 5620 GOTO 2920
  489. 5630 PRINT "A SOAP OPERA RERUN!"
  490. 5640 GOTO 2920
  491. 5650 IF RF <> 0 GOTO 5690
  492. 5660 PRINT
  493. 5670 PRINT "** YOU CAN'T TELEPORT WITHOUT THE RUNESTAFF!"
  494. 5680 GOTO 2920
  495. 5690 Z$="X-COORDINATE"
  496. 5700 GOSUB 9990
  497. 5710 X=Q
  498. 5720 Z$="Y-COORDINATE"
  499. 5730 GOSUB 9990
  500. 5740 Y=Q
  501. 5750 Z$="Z-COORDINATE"
  502. 5760 GOSUB 9990
  503. 5770 Z=Q
  504. 5780 O$="T"
  505. 5790 GOTO 5920
  506. 5800 PRINT
  507. 5810 PRINT "DO YOU REALLY WANT TO QUIT NOW";
  508. 5820 GOSUB 9850
  509. 5830 PRINT
  510. 5840 IF O$="Y" GOTO 5870
  511. 5850 PRINT "** THEN DON'T SAY THAT YOU DO!"
  512. 5860 GOTO 2920
  513. 5870 PRINT
  514. 5880 GOTO 9080
  515. 5890 REM
  516. 5900 REM   DISPLAY STATUS INFORMATION
  517. 5910 REM
  518. 5920 PRINT
  519. 5930 IF BL=0 THEN GOSUB 10160 : PRINT
  520. 5940 PRINT "STRENGTH =";ST;" INTELLIGENCE =";IQ;" DEXTERITY =";DX
  521. 5950 PRINT "TREASURES =";TC;" FLARES =";FL;" GOLD PIECES =";GP
  522. 5960 PRINT "WEAPON = ";W$(WV+1);"  ARMOR = ";W$(AV+5);
  523. 5970 IF LF=1 THEN PRINT "  AND A LAMP";
  524. 5980 PRINT
  525. 5990 WC=0
  526. 6000 Q=FNE(L(FND(Z)))
  527. 6010 L(FND(Z))=Q
  528. 6020 Z$="YOU NOW HAVE"
  529. 6030 PRINT
  530. 6040 PRINT "HERE YOU FIND ";C$(Q);"."
  531. 6050 IF (Q<7) OR (Q=11) OR (Q=12) GOTO 2920
  532. 6060 IF Q=7 THEN GP=GP+FNA(10) : PRINT Z$;GP;"." : GOTO 5230
  533. 6070 IF Q=8 THEN FL=FL+FNA(5) : PRINT Z$;FL;"." : GOTO 5230
  534. 6080 IF Q > 9 GOTO 6110
  535. 6090 IF (O(1)=X) AND (O(2)=Y) AND (O(3)=Z) THEN ON (1-(O$="T")) GOTO 3900,9370
  536. 6100 X=FNA(8) : Y=FNA(8) : Z=FNA(8) : GOTO 5920
  537. 6110 IF Q=10 THEN Z=FNB(Z+1) : GOTO 5920
  538. 6120 IF Q <= 25 OR Q >= 34 GOTO 6180
  539. 6130 PRINT
  540. 6140 PRINT "IT'S NOW YOURS!"
  541. 6150 T(Q-25)=1
  542. 6160 TC=TC+1
  543. 6170 GOTO 5230
  544. 6180 A=L(FND(Z))-12
  545. 6190 WC=0
  546. 6200 IF (A<13) OR (VF=1) GOTO 7390
  547. 6210 PRINT
  548. 6220 PRINT "YOU MAY TRADE WITH, ATTACK, OR IGNORE THE VENDOR."
  549. 6230 GOSUB 9830
  550. 6240 IF O$="I" GOTO 2920
  551. 6250 IF O$ <> "A" GOTO 6300
  552. 6260 VF=1
  553. 6270 PRINT
  554. 6280 PRINT "YOU'LL BE SORRY THAT YOU DID THAT!"
  555. 6290 GOTO 7390
  556. 6300 IF O$="T" GOTO 6340
  557. 6310 PRINT
  558. 6320 PRINT "** NICE SHOT, ";R$(RC);"!"
  559. 6330 GOTO 6210
  560. 6340 FOR Q=1 TO 8
  561. 6350 A=FNA(Q*1500)
  562. 6360 IF T(Q)=0 GOTO 6420
  563. 6370 PRINT
  564. 6380 PRINT "DO YOU WANT TO SELL ";C$(Q+25);" FOR";A;"GP'S";
  565. 6390 GOSUB 9850
  566. 6400 IF O$="Y" THEN TC=TC-1 : T(Q)=0 : GP=GP+A : GOTO 6420
  567. 6410 IF O$ <> "N" THEN PRINT Y$ : GOTO 6370
  568. 6420 NEXT Q
  569. 6430 IF GP >= 1000 GOTO 6470
  570. 6440 PRINT
  571. 6450 PRINT "YOU'RE TOO POOR TO TRADE, ";R$(RC);"."
  572. 6460 GOTO 2920
  573. 6470 IF GP < 1250 GOTO 6970
  574. 6480 PRINT
  575. 6490 PRINT "OK, ";R$(RC);", YOU HAVE";GP;"GP'S AND ";W$(AV+5);" ARMOR."
  576. 6500 PRINT
  577. 6510 Z$="ARMOR"
  578. 6520 GOSUB 10130
  579. 6530 PRINT "NOTHING<0> LEATHER<1250> ";
  580. 6540 IF GP > 1499 THEN PRINT "CHAINMAIL<1500> ";
  581. 6550 IF GP > 1999 THEN PRINT "PLATE<2000>";
  582. 6560 PRINT
  583. 6570 GOSUB 9830
  584. 6580 PRINT
  585. 6590 IF O$="N" GOTO 6720
  586. 6600 IF O$="L" THEN GP=GP-1250 : AV=1 : AH=7 : GOTO 6720
  587. 6610 IF O$ <> "C" OR GP >= 1500 GOTO 6640
  588. 6620 PRINT "** YOU HAVEN'T GOT THAT MUCH CASH ON HAND!"
  589. 6630 GOTO 6500
  590. 6640 IF O$="C" THEN GP=GP-1500 : AV=2 : AH=14 : GOTO 6720
  591. 6650 IF O$ <> "P" OR GP >= 2000 GOTO 6680
  592. 6660 PRINT "** YOU CAN'T AFFORD PLATE ARMOR!"
  593. 6670 GOTO 6500
  594. 6680 IF O$="P" THEN GP=GP-2000 : AV=3 : AH=21 : GOTO 6720
  595. 6690 PRINT
  596. 6700 PRINT "** DON'T BE SILLY. CHOOSE A SELECTION."
  597. 6710 GOTO 6560
  598. 6720 IF GP < 1250 GOTO 6970
  599. 6730 PRINT
  600. 6740 PRINT"YOU HAVE";GP;"GP'S LEFT WITH ";W$(WV+1);" IN HAND."
  601. 6750 PRINT
  602. 6760 Z$="WEAPON"
  603. 6770 GOSUB 10130
  604. 6780 PRINT "NOTHING<0> DAGGER<1250> ";
  605. 6790 IF GP > 1499 THEN PRINT "MACE<1500> ";
  606. 6800 IF GP > 1999 THEN PRINT "SWORD<2000>";
  607. 6810 PRINT
  608. 6820 GOSUB 9830
  609. 6830 PRINT
  610. 6840 IF O$="N" GOTO 6970
  611. 6850 IF O$="D" THEN GP=GP-1250 : WV=1 : GOTO 6970
  612. 6860 IF O$ <> "M" OR GP >= 1500 GOTO 6890
  613. 6870 PRINT "** SORRY SIR, I'M AFRAID I DON'T GIVE CREDIT!"
  614. 6880 GOTO 6750
  615. 6890 IF O$="M" THEN GP=GP-1500 : WV=2 : GOTO 6970
  616. 6900 IF O$ <> "S" OR GP >= 2000 GOTO 6940
  617. 6910 PRINT "** YOUR DUNGEON EXPRESS CARD - ";
  618. 6920 PRINT "YOU LEFT HOME WITHOUT IT!"
  619. 6930 GOTO 6750
  620. 6940 IF O$="S" THEN GP=GP-2000 : WV=3 : GOTO 6970
  621. 6950 PRINT "** TRY CHOOSING A SELECTION!"
  622. 6960 GOTO 6810
  623. 6970 IF GP < 1000 GOTO 2920
  624. 6980 Z$="STRENGTH"
  625. 6990 GOSUB 10070
  626. 7000 IF O$ <> "Y" GOTO 7060
  627. 7010 GP=GP-1000
  628. 7020 ST=FNC(ST+FNA(6))
  629. 7030 Q=ST
  630. 7040 GOSUB 10100
  631. 7050 GOTO 6970
  632. 7060 IF O$ <> "N" THEN PRINT Y$ : GOTO 6980
  633. 7070 IF GP < 1000 GOTO 2920
  634. 7080 Z$="INTELLIGENCE"
  635. 7090 GOSUB 10070
  636. 7100 IF O$ <> "Y" GOTO 7160
  637. 7110 GP=GP-1000
  638. 7120 IQ=FNC(IQ+FNA(6))
  639. 7130 Q=IQ
  640. 7140 GOSUB 10100
  641. 7150 GOTO 7070
  642. 7160 IF O$ <> "N" THEN PRINT Y$ : GOTO 7080
  643. 7170 IF GP < 1000 GOTO 2920
  644. 7180 Z$="DEXTERITY"
  645. 7190 GOSUB 10070
  646. 7200 IF O$ <> "Y" GOTO 7260
  647. 7210 GP=GP-1000
  648. 7220 DX=FNC(DX+FNA(6))
  649. 7230 Q=DX
  650. 7240 GOSUB 10100
  651. 7250 GOTO 7170
  652. 7260 IF O$ <> "N" THEN PRINT Y$ : GOTO 7180
  653. 7270 IF (GP<1000) OR (LF=1) GOTO 2920
  654. 7280 PRINT
  655. 7290 PRINT "DO YOU WANT TO BUY A LAMP FOR 1000 GP'S";
  656. 7300 GOSUB 9850
  657. 7310 IF O$ <> "Y" GOTO 7370
  658. 7320 GP=GP-1000
  659. 7330 LF=1
  660. 7340 PRINT
  661. 7350 PRINT "IT'S GUARANTEED TO OUTLIVE YOU!"
  662. 7360 GOTO 2920
  663. 7370 IF O$ <> "N" THEN PRINT Y$ : GOTO 7280
  664. 7380 GOTO 2920
  665. 7390 Q1=1+INT(A/2) : Q2=A+2 : Q3=1
  666. 7400 IF (C(1,4)>T(1)) OR (BL=1) OR (DX<FNA(9)+FNA(9)) GOTO 8420
  667. 7410 PRINT
  668. 7420 PRINT "YOU'RE FACING ";C$(A+12);"!"
  669. 7430 PRINT
  670. 7440 PRINT "YOU MAY ATTACK OR RETREAT."
  671. 7450 IF Q3=1 THEN PRINT "YOU CAN ALSO ATTEMPT A BRIBE."
  672. 7460 IF IQ > 14 THEN PRINT "YOU CAN ALSO CAST A SPELL."
  673. 7470 PRINT
  674. 7480 PRINT "YOUR STRENGTH IS";ST;"AND YOUR DEXTERITY IS";DX;"."
  675. 7490 GOSUB 9830
  676. 7500 IF O$ <> "A" GOTO 7910
  677. 7510 IF WV <> 0 GOTO 7550
  678. 7520 PRINT
  679. 7530 PRINT "** POUNDING ON ";C$(A+12);" WON'T HURT IT!"
  680. 7540 GOTO 8420
  681. 7550 IF BF <> 1 GOTO 7590
  682. 7560 PRINT
  683. 7570 PRINT "** YOU CAN'T BEAT IT TO DEATH WITH A BOOK!"
  684. 7580 GOTO 8420
  685. 7590 IF DX >= FNA(20)+(3*BL) GOTO 7630
  686. 7600 PRINT
  687. 7610 PRINT "YOU MISSED, TOO BAD!"
  688. 7620 GOTO 8420
  689. 7630 Z$=RIGHT$(C$(A+12),LEN(C$(A+12))-2)
  690. 7640 IF LEFT$(Z$,1)=" " THEN Z$=MID$(Z$,2)
  691. 7650 PRINT
  692. 7660 PRINT "YOU HIT THE EVIL ";Z$;"!"
  693. 7670 Q2=Q2-WV
  694. 7680 IF (A <> 9 AND A <> 12) GOTO 7730
  695. 7690 IF FNA(8) <> 1 GOTO 7730
  696. 7700 PRINT
  697. 7710 PRINT "OH NO! YOUR ";W$(WV+1);" BROKE!"
  698. 7720 WV=0
  699. 7730 IF Q2 > 0 GOTO 8420
  700. 7740 PRINT
  701. 7750 MC=MC-1
  702. 7760 PRINT C$(A+12);" LIES DEAD AT YOUR FEET!"
  703. 7770 IF H > T-60 GOTO 7810
  704. 7780 PRINT
  705. 7790 PRINT "YOU SPEND AN HOUR EATING ";C$(A+12);E$(FNA(8));"."
  706. 7800 H=T
  707. 7810 IF X <> R(1) OR Y <> R(2) OR Z <> R(3) THEN ON (1-(A=13)) GOTO 7860,9630
  708. 7820 PRINT
  709. 7830 PRINT "GREAT ZOT! YOU'VE FOUND THE RUNESTAFF!";CHR$(7)
  710. 7840 R(1)=0
  711. 7850 RF=1
  712. 7860 Q=FNA(1000)
  713. 7870 PRINT
  714. 7880 PRINT "YOU NOW GET HIS HOARD OF";Q;"GP'S"
  715. 7890 GP=GP+Q
  716. 7900 GOTO 5230
  717. 7910 IF O$="R" GOTO 8420
  718. 7920 IF O$ <> "C" GOTO 8210
  719. 7930 IF IQ >= 15 OR Q3 <= 1 GOTO 7970
  720. 7940 PRINT
  721. 7950 PRINT "** YOU CAN'T CAST A SPELL NOW!"
  722. 7960 GOTO 7410
  723. 7970 PRINT
  724. 7980 PRINT "WHICH SPELL (WEB, FIREBALL, DEATHSPELL)";
  725. 7990 GOSUB 9850
  726. 8000 PRINT
  727. 8010 IF O$ <> "W" GOTO 8050
  728. 8020 ST=ST-1
  729. 8030 WC=FNA(8)+1
  730. 8040 ON (1-(ST<1)) GOTO 8420,8840
  731. 8050 IF O$ <> "F" GOTO 8140
  732. 8060 Q=FNA(7)+FNA(7)
  733. 8070 ST=ST-1
  734. 8080 IQ=IQ-1
  735. 8090 IF (IQ < 1) OR (ST < 1) GOTO 8840
  736. 8100 PRINT "IT DOES";Q;"POINTS WORTH OF DAMAGE."
  737. 8110 PRINT
  738. 8120 Q2=Q2-Q
  739. 8130 GOTO 7730
  740. 8140 IF O$="D" GOTO 8180
  741. 8150 PRINT
  742. 8160 PRINT "** TRY ONE OF THE OPTIONS GIVEN."
  743. 8170 GOTO 7410
  744. 8180 PRINT "DEATH . . . ";
  745. 8190 IF IQ < FNA(4)+15 THEN PRINT "YOURS!" : IQ=0 : GOTO 8840
  746. 8200 PRINT "HIS!" : Q2=0 : GOTO 7740
  747. 8210 IF O$="B" AND Q3 <= 1 GOTO 8250
  748. 8220 PRINT
  749. 8230 PRINT "** CHOOSE ONE OF THE OPTIONS LISTED."
  750. 8240 GOTO 7410
  751. 8250 IF TC <> 0 GOTO 8290
  752. 8260 PRINT
  753. 8270 PRINT "ALL I WANT IS YOUR LIFE!"
  754. 8280 GOTO 8420
  755. 8290 Q=FNA(8)
  756. 8300 IF T(Q)=0 GOTO 8290
  757. 8310 PRINT
  758. 8320 PRINT "I WANT ";C$(Q+25);". WILL YOU GIVE IT TO ME";
  759. 8330 GOSUB 9850
  760. 8340 IF O$="N" GOTO 8420
  761. 8350 IF O$ <> "Y" THEN PRINT Y$ : GOTO 8310
  762. 8360 T(Q)=0
  763. 8370 TC=TC-1
  764. 8380 PRINT
  765. 8390 PRINT "OK, JUST DON'T TELL ANYONE ELSE."
  766. 8400 VF=VF+(L(FND(Z))=25)
  767. 8410 GOTO 2920
  768. 8420 Q3=2
  769. 8430 IF WC <= 0 GOTO 8460
  770. 8440 WC=WC-1
  771. 8450 IF WC=0 THEN PRINT : PRINT "THE WEB JUST BROKE!"
  772. 8460 Z$=RIGHT$(C$(A+12),LEN(C$(A+12))-2)
  773. 8470 IF LEFT$(Z$,1)=" " THEN Z$=MID$(Z$,2)
  774. 8480 IF WC <= 0 GOTO 8520
  775. 8490 PRINT
  776. 8500 PRINT "THE ";Z$;" IS STUCK AND CAN'T ATTACK NOW!"
  777. 8510 GOTO 8630
  778. 8520 PRINT
  779. 8530 PRINT "THE ";Z$;" ATTACKS!"
  780. 8540 IF DX < FNA(7)+FNA(7)+FNA(7)+3*BL GOTO 8580
  781. 8550 PRINT
  782. 8560 PRINT "WHAT LUCK, HE MISSED YOU!"
  783. 8570 GOTO 8630
  784. 8580 PRINT
  785. 8590 PRINT "OUCH! HE HIT YOU!"
  786. 8600 Q=Q1
  787. 8610 GOSUB 8740
  788. 8620 IF ST < 1 GOTO 8840
  789. 8630 IF O$ <> "R" GOTO 7410
  790. 8640 PRINT
  791. 8650 PRINT "YOU HAVE ESCAPED!"
  792. 8660 PRINT
  793. 8670 PRINT "DO YOU WANT TO GO NORTH, SOUTH, EAST, OR WEST";
  794. 8680 GOSUB 9850
  795. 8690 IF O$="N" OR O$="S" OR O$="E" OR O$="W" GOTO 3900
  796. 8700 PRINT
  797. 8710 PRINT "** DON'T PRESS YOUR LUCK, ";R$(RC);"!"
  798. 8720 PRINT
  799. 8730 GOTO 8670
  800. 8740 IF AV=0 GOTO 8820
  801. 8750 Q=Q-AV
  802. 8760 AH=AH-AV
  803. 8770 IF Q < 0 THEN AH=AH-Q : Q=0
  804. 8780 IF AH >= 0 GOTO 8820
  805. 8790 AH=0 : AV=0
  806. 8800 PRINT
  807. 8810 PRINT "YOUR ARMOR HAS BEEN DESTROYED . . . GOOD LUCK!"
  808. 8820 ST=ST-Q
  809. 8830 RETURN
  810. 8840 PRINT CHR$(7)
  811. 8850 GOSUB 9770
  812. 8860 PRINT "A NOBLE EFFORT, OH FORMERLY LIVING ";R$(RC);"!"
  813. 8870 PRINT
  814. 8880 PRINT "YOU DIED DUE TO LACK OF ";
  815. 8890 IF ST < 1 THEN PRINT "STRENGTH."
  816. 8900 IF IQ < 1 THEN PRINT "INTELLIGENCE."
  817. 8910 IF DX < 1 THEN PRINT "DEXTERITY."
  818. 8920 PRINT
  819. 8930 Q3=1
  820. 8940 PRINT "AT THE TIME YOU DIED, YOU HAD :"
  821. 8950 GOTO 9130
  822. 8960 Q3=0
  823. 8970 PRINT
  824. 8980 PRINT "YOU LEFT THE CASTLE WITH";
  825. 8990 IF OF=0 THEN PRINT "OUT";
  826. 9000 PRINT " THE ORB OF ZOT."
  827. 9010 PRINT
  828. 9020 IF OF=0 GOTO 9080
  829. 9030 PRINT
  830. 9040 PRINT "AN INCREDIBLY GLORIOUS VICTORY!!"
  831. 9050 PRINT
  832. 9060 PRINT "IN ADDITION, YOU GOT OUT WITH THE FOLLOWING :"
  833. 9070 GOTO 9120
  834. 9080 PRINT
  835. 9090 PRINT "A LESS THAN AWE-INSPIRING DEFEAT."
  836. 9100 PRINT
  837. 9110 PRINT "WHEN YOU LEFT THE CASTLE, YOU HAD :"
  838. 9120 IF Q3=0 THEN PRINT "YOUR MISERABLE LIFE!"
  839. 9130 FOR Q=1 TO 8
  840. 9140 IF T(Q)=1 THEN PRINT C$(Q+25)
  841. 9150 NEXT Q
  842. 9160 PRINT W$(WV+1);" AND ";W$(AV+5);
  843. 9170 IF LF=1 THEN PRINT " AND A LAMP";
  844. 9180 PRINT
  845. 9190 PRINT "YOU ALSO HAD";FL;"FLARES AND";GP;"GOLD PIECES"
  846. 9200 IF RF=1 THEN PRINT "AND THE RUNESTAFF"
  847. 9210 PRINT
  848. 9220 PRINT "AND IT TOOK YOU";T;"TURNS!"
  849. 9230 PRINT
  850. 9240 PRINT "ARE YOU FOOLISH ENOUGH TO WANT TO PLAY AGAIN";
  851. 9250 GOSUB 9850
  852. 9260 PRINT
  853. 9270 IF O$ <> "Y" THEN GOTO 9330
  854. 9280 PRINT "SOME ";R$(RC);"S NEVER LEARN!"
  855. 9290 PRINT
  856. 9300 PRINT "PLEASE BE PATIENT WHILE THE CASTLE IS RESTOCKED."
  857. 9310 PRINT
  858. 9320 GOTO 1240
  859. 9330 IF O$ <> "N" THEN PRINT Y$ : GOTO 9240
  860. 9340 PRINT "MAYBE DUMB ";R$(RC);" IS NOT SO DUMB AFTER ALL!"
  861. 9350 PRINT
  862. 9360 GOTO 10180
  863. 9370 PRINT
  864. 9380 PRINT "GREAT UNMITIGATED ZOT!"
  865. 9390 PRINT
  866. 9400 PRINT "YOU JUST FOUND ***THE ORB OF ZOT***!"
  867. 9410 PRINT
  868. 9420 PRINT "THE RUNESTAFF HAS DISAPPEARED!"
  869. 9430 RF=0
  870. 9440 OF=1
  871. 9450 O(1)=0
  872. 9460 GOTO 5230
  873. 9470 DATA AN EMPTY ROOM,.,THE ENTRANCE,E,STAIRS GOING UP,U
  874. 9480 DATA STAIRS GOING DOWN,D,A POOL,P,A CHEST,C,GOLD PIECES,G
  875. 9490 DATA FLARES,F,A WARP,W,A SINKHOLE,S,A CRYSTAL ORB,O
  876. 9500 DATA A BOOK,B,A KOBOLD,M,AN ORC,M,A WOLF,M,A GOBLIN,M,AN OGRE,M
  877. 9510 DATA A TROLL,M,A BEAR,M,A MINOTAUR,M,A GARGOYLE,M,A CHIMERA,M
  878. 9520 DATA A BALROG,M,A DRAGON,M,A VENDOR,V,THE RUBY RED,T
  879. 9530 DATA THE NORN STONE,T,THE PALE PEARL,T,THE OPAL EYE,T
  880. 9540 DATA THE GREEN GEM,T,THE BLUE FLAME,T,THE PALANTIR,T,THE SILMARIL,T
  881. 9550 DATA X,"?",NO WEAPON," SANDWICH"
  882. 9560 DATA DAGGER," STEW",MACE," SOUP",SWORD," BURGER",NO ARMOR," ROAST"
  883. 9570 DATA LEATHER," FILET",CHAINMAIL," TACO",PLATE," PIE"
  884. 9580 DATA HOBBIT,ELF,MAN,DWARF
  885. 9590 X=FNA(8) : Y=FNA(8)
  886. 9600 IF L(FND(Z)) <> 101 GOTO 9590
  887. 9610 L(FND(Z))=Q
  888. 9620 RETURN
  889. 9630 PRINT
  890. 9640 PRINT "YOU GET ALL HIS WARES :"
  891. 9650 PRINT "PLATE ARMOR"
  892. 9660 AV=3 : AH=21
  893. 9670 PRINT "A SWORD"
  894. 9680 WV=3
  895. 9690 PRINT "A STRENGTH POTION"
  896. 9700 ST=FNC(ST+FNA(6))
  897. 9710 PRINT "AN INTELLIGENCE POTION"
  898. 9720 IQ=FNC(IQ+FNA(6))
  899. 9730 PRINT "A DEXTERITY POTION"
  900. 9740 DX=FNC(DX+FNA(6))
  901. 9750 IF LF=0 THEN PRINT "A LAMP" : LF=1
  902. 9760 GOTO 7860
  903. 9770 FOR Q=1 TO 64
  904. 9780 PRINT "*";
  905. 9790 NEXT Q
  906. 9800 PRINT
  907. 9810 PRINT
  908. 9820 RETURN
  909. 9830 PRINT
  910. 9840 PRINT "YOUR CHOICE";
  911. 9850 INPUT O$
  912. 9860 O$=LEFT$(O$,1)
  913. 9870 RETURN
  914. 9880 PRINT "HOW MANY POINTS DO YOU WISH TO ADD TO YOUR ";Z$;
  915. 9890 INPUT O$
  916. 9900 PRINT
  917. 9910 Q=VAL(O$)
  918. 9920 IF Q=0 AND ASC(O$) <> 48 THEN Q=-1
  919. 9930 IF Q<0 OR Q>OT OR Q<>INT(Q) THEN PRINT "** "; : GOTO 9880
  920. 9940 OT=OT-Q
  921. 9950 RETURN
  922. 9960 INPUT O$
  923. 9970 Q=INT(VAL(O$))
  924. 9980 RETURN
  925. 9990 PRINT
  926. 10000 PRINT Z$;
  927. 10010 INPUT O$
  928. 10020 Q=INT(VAL(O$))
  929. 10030 IF Q > 0 AND Q < 9 THEN RETURN
  930. 10040 PRINT
  931. 10050 PRINT "** TRY A NUMBER FROM 1 TO 8."
  932. 10060 GOTO 9990
  933. 10070 PRINT
  934. 10080 PRINT "DO YOU WANT TO BUY A POTION OF ";Z$;" FOR 1000 GP'S";
  935. 10090 GOTO 9850
  936. 10100 PRINT
  937. 10110 PRINT "YOUR ";Z$;" IS NOW";Q;"."
  938. 10120 RETURN
  939. 10130 PRINT
  940. 10140 PRINT "THESE ARE THE TYPES OF ";Z$;" YOU CAN BUY :"
  941. 10150 RETURN
  942. 10160 PRINT "YOU ARE AT (";X;",";Y;") LEVEL";Z;"."
  943. 10170 RETURN
  944. 10180 IF SAMP$="YES" THEN CHAIN "SAMPLES",1000 ELSE  END
  945. N
  946. 10160 PRINT "YO